<?php
/**
 * Created by PhpStorm.
 * User: micoya
 * Date: 2018/11/29
 * Time: 2:21 PM
 */

namespace app\admin\controller;


use app\common\base\AuthenticatedController;
use app\common\base\Form;
use think\Db;
use think\Error;

/**
 * 工单管理控制器
 * Class ServiceController
 * @package app\admin\controller
 */
class ServiceController extends AuthenticatedController {


    /**
     * 根据ID删除工单
     * @return \think\response\Json
     * @throws \think\Exception
     * @throws \think\exception\PDOException
     */
    public function Delete() {

        Form::Validate([
            'id'  =>  'require',
        ]);

        if (!Db::table('service')->where('id', input('id'))->delete()) {
            return Error('删除失败');
        }

        return Success('删除成功');

    }

    /**
     * 修改工单
     * @return \think\response\Json
     * @throws \think\Exception
     * @throws \think\exception\PDOException
     */
    public function Modify() {

        $data = [
            'admin_id'           =>  input('admin_id'),
            'content'            =>  input('content'),      // 工单内容
            'status'             =>  input('status'),       // 工单状态（暂时无用）
            'step'               =>  input('step'),         // 工单进度
            'feedback'           =>  input('feedback'),     // 工单反馈
            'remark'             =>  input('remark'),       // 工单备注
            'address_full'       =>  input('address_full'), // 用户地址
            'phone'              =>  input('phone'),        // 用户手机号
            'user_name'          =>  input('user_name'),    // 用户名
            'pay_amount'         =>  input('pay_amount'),   // 需要付款的金额
            'pay_status'         =>  input('pay_status'),   // 付款状态
            'pay_at'             =>  input('pay_at'),       // 付款时间
        ];

        if (!Db::table('service')->where('id', input('id'))->update($data)) {
            return Error('更新失败');
        }

        return Success('更新成功');
    }


    /**
     * 获取工单列表
     * @return \think\response\Json
     * @throws \think\db\exception\DataNotFoundException
     * @throws \think\db\exception\ModelNotFoundException
     * @throws \think\exception\DbException
     */
    public function GetList() {
        $result = Db::table('service')->select();

        return Success('获取成功', $result);
    }


    /**
     * 根据ID获取工单详情信息
     * @return \think\response\Json
     * @throws \think\db\exception\DataNotFoundException
     * @throws \think\db\exception\ModelNotFoundException
     * @throws \think\exception\DbException
     */
    public function GetOne() {
        Form::Validate([
            'id'    =>  'require|integer'
        ]);

        $result = Db::table('service')->where('id', input('id'))->find();
        if (!$result) {
            return Error('获取失败');
        }

        return Success('获取成功', $result);

    }

}